<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			//使用面向对象思想模拟生活中的继承情况。
			//需要声明父类、子类、属性和相关方法，子类不少于2个，属性不少于5个，方法不少2个。
			//父类
			function Person(name,age,sex,hobby){
				this.name = name;
				this.age = age;
				this.sex = sex;
				this.hobby = hobby;
			}
			function K(){};//创建一个空的函数
			K.prototype = Person.prototype;//将父类的原型挂在这个空函数的原型上
			
			//技能类		学习游泳这个技能
			function Swimming(name,age,sex,hobby,swim){
				Person.call(this,name,age,sex,hobby);
				this.swim = swim;//学习了游泳这个技能
			}
			Swimming.prototype = new K();//将学习游泳这个子类设为空函数的实例
			Swimming.prototype.constructor = Swimming;//修复构造函数
			var person1 = new Swimming("张三",19,"男","唱歌","学游泳");
			console.log(person1);
			
			//技能类		学习跳舞这个技能
			function Danceing(name,age,sex,hobby,dance){
				Person.call(this,name,age,sex,hobby);
				this.dance = dance;//学习了跳舞这个技能
			}
			Danceing.prototype = new K();//将学跳舞的原型设为空函数的实例
			Danceing.prototype.constructor = Danceing;//修复构造函数
			var person2 = new Danceing("李红",18,"女","画画","学跳舞");
			console.log(person2);
		</script>
	</body>
</html>
